package ynu.edu.service;

import ynu.edu.dto.BusinessFoodDTO;
import ynu.edu.dto.FoodDTO;

import java.util.List;

/**
 * 食品服务接口
 */
public interface FoodService {
    
    /**
     * 根据商家ID获取食品列表
     *
     * @param businessId 商家ID
     * @return 食品列表
     */
    List<FoodDTO> getFoodsByBusinessId(Integer businessId);
    
    /**
     * 根据商家ID和分类ID获取食品列表
     *
     * @param businessId 商家ID
     * @param categoryId 分类ID
     * @return 食品列表
     */
    List<FoodDTO> getFoodsByBusinessIdAndCategoryId(Integer businessId, Integer categoryId);
    
    /**
     * 根据ID获取食品
     *
     * @param foodId 食品ID
     * @return 食品信息
     */
    FoodDTO getFoodById(Integer foodId);
    
    /**
     * 根据商家ID获取食品列表和商家信息
     *
     * @param businessId 商家ID
     * @return 商家和食品信息
     */
    BusinessFoodDTO getFoodsWithMerchant(Integer businessId);
    
    /**
     * 添加食品
     *
     * @param foodDTO 食品信息
     * @return 添加后的食品信息
     */
    FoodDTO addFood(FoodDTO foodDTO);
    
    /**
     * 更新食品
     *
     * @param foodDTO 食品信息
     * @return 更新后的食品信息
     */
    FoodDTO updateFood(FoodDTO foodDTO);
    
    /**
     * 删除食品
     *
     * @param foodId 食品ID
     */
    void deleteFood(Integer foodId);
    
    /**
     * 搜索食品
     *
     * @param keyword 关键词
     * @return 食品列表
     */
    List<FoodDTO> searchFoods(String keyword);
} 